
package com.insigma.business.qrcode.soldier.dao;


import com.insigma.business.qrcode.common.annotation.Crypt;
import com.insigma.business.qrcode.soldier.entity.DataStatsCDO;
import com.insigma.business.qrcode.soldier.entity.SoldierPetitionInfoDO;
import com.insigma.business.qrcode.soldier.request.SoldierPetitionInfoBSearcher;
import org.apache.ibatis.annotations.Param;

import java.util.List;


@Crypt(decryptFields = {"idCardNo", "mobile", ""})
public interface SoldierPetitionInfoDao {

    
    List<SoldierPetitionInfoDO> search(final SoldierPetitionInfoBSearcher innerSearcher);

    
    SoldierPetitionInfoDO get(final String id);

    
    Integer insert(final SoldierPetitionInfoDO soldierPetitionInfoDO);

    
    Integer update(final SoldierPetitionInfoDO soldierPetitionInfoDO);

    
    Integer delete(@Param("id") final String id,
                   @Param("modifierType") final String modifierType,
                   @Param("modifierId") final String modifierId);

    @Crypt(encryptParamIndex = {0})
    List<SoldierPetitionInfoDO> listByIdCardNo(String idCardNo);

    Integer countByArea(String adminAreaCode);

    List<DataStatsCDO> groupTypeMap(String adminAreaCode);

    Integer countByBjbz(String adminAreaCode);

    SoldierPetitionInfoDO getByStoreId(String storeid);

    List<DataStatsCDO> groupTypeMapAndDetail(@Param("adminAreaCode")String adminAreaCode, @Param("detail")String detail);
}
